// index.ts
// 获取应用实例
const app = getApp<IAppOption>()

Page({
  data: {
    listDate: 'hhh',
    motto: 'Hello World',
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    canIUseGetUserProfile: false,
    canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName'), // 如需尝试获取用户信息可改为false
    imgUrls: [
      'https://ts1.cn.mm.bing.net/th/id/R-C.28bc1b031251613737ae4d58f10fec27?rik=phfGrr2FM1VchA&riu=http%3a%2f%2fpic91.huitu.com%2fres%2f20161128%2f1136753_20161128184920178050_1.jpg&ehk=04DLeALocIQHvOPTy3xIOe4ER9lMG1HxOQPkD5FLbHI%3d&risl=&pid=ImgRaw&r=0',
      'https://ts1.cn.mm.bing.net/th/id/R-C.1cddb1063e05bf449bf99066f88f50e7?rik=Jn0Z2VcIGx%2bJpw&riu=http%3a%2f%2fwww.linkshop.com.cn%2fupload%2farticle%2f2020%2f20201119165326_6206_lssize.jpg&ehk=KcBq3XhaUanJsXrMoNVTTwosr%2fP4SAN6fRQjuBbQaRQ%3d&risl=&pid=ImgRaw&r=0',
      'https://pic3.zhimg.com/v2-12df569de6217f0aafec8b265d267e87_720w.jpg?source=172ae18b'
    ],
    indicatorDots: true,  //是否显示面板指示点
    autoplay: true,      //是否自动切换
    interval: 3000,       //自动切换时间间隔
    duration: 1000,       //滑动动画时长
    inputShowed: false,
    inputVal: "",
    flag: false
  },
  // getUserProfile() {
  //   // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认
  //   // 开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
  //   wx.getUserProfile({
  //   desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
  //   success: (res) => {
  //     console.log(res.userInfo)
  //     this.setData({
  //       userInfo: res.userInfo,
  //       hasUserInfo: true
  //     })
  //   }
  //   })
  // },
  toLoginOrRegister() {
    // 为确保this指向不发生改变，可以固定下this指向
    //使用this的时候用that代替即可
    var that = this
    wx.request({
      // 注意，如果小程序开启校验合法域名时必须使用https协议
      //在测试的情况下可以不开启域名校验
      url: 'http://localhost:8081/consumer/login',
      data: {
        // 接口设置的固定参数值
        // name: "M_Elsa",
        // password: "1234"
        name: "钟良堂",
        password: "15919731483"
      },
      // 请求的方法
      method: 'POST', // 或 ‘POST’
      // 设置请求头，不能设置 Referer
      header: {
        'content-type': 'application/json' // 默认值
      },
      // 请求成功时的处理
      success: function (res) {
        // 一般在这一打印下看看是否拿到数据
        console.log(res.data.data.token)
        wx.setStorageSync('TOKENINFO', res.data.data.token)
        wx.setStorageSync('USERCID', res.data.data.UserCId)
        wx.setStorageSync('USERPHONE', res.data.data.UserPhone)
        wx.setStorageSync('USERNAME', res.data.data.UserCName)
        wx.setStorageSync('UserSex', res.data.data.UserSex)
        wx.setStorageSync('UserTime', res.data.data.UserTime)
        if (res.statusCode == 200) {
          var array = res.data
          that.setData({
            // 将res.data保存在listDate方便我们去循环遍历
            // listDate: res.data.data.token
            // 统计所有数据

          })
        }
      },
      // 请求失败时的一些处理
      fail: function () {
        wx.showToast({
          icon: "none",
          mask: true,
          title: "接口调用失败，请稍后再试。",
        });
      }
    })
  },

  test2() {
    // 为确保this指向不发生改变，可以固定下this指向
    //使用this的时候用that代替即可
    // var that = this
    // wx.request({
    //   // 注意，如果小程序开启校验合法域名时必须使用https协议
    //   //在测试的情况下可以不开启域名校验
    //   url: 'http://localhost:8081/menu/list',
    //   data: {
    //     // 接口设置的固定参数值
    //   },
    //   // 请求的方法
    //   method: 'GET', // 或 ‘POST’
    //   // 设置请求头，不能设置 Referer
    //   header: {
    //     'content-type': 'application/json', // 默认值
    //     'token': wx.getStorageSync('TOKENINFO')
    //   },
    //   // 请求成功时的处理
    //   success: function (res) {
    //     // 一般在这一打印下看看是否拿到数据
    //     console.log(res.data.data[4].mMaterial);
    //     let resData = res.data.data[4].mMaterial;
    //     var array = res.data.data
    //       that.setData({
    //         // 将res.data保存在listDate方便我们去循环遍历
    //         listDate: '1111'
    //         // 统计所有数据

    //       })
    //     if (res.statusCode == 200) {
    //       var array = res.data
    //       that.setData({
    //         // 将res.data保存在listDate方便我们去循环遍历
    //         listDate: res.data
    //         // 统计所有数据

    //       })
    //     }
    //   },
    //   // 请求失败时的一些处理
    //   fail: function () {
    //   	wx.showToast({
    //         icon: "none",
    //         mask: true,
    //       	title: "接口调用失败，请稍后再试。",
    //      });
    //   }
    // })
    wx.navigateTo({
      url: '../PostOrder/PostOrder',
    })
  },
  toMenu() {
    wx.navigateTo({
      url: '../Menu/Menu',
    })
  },
  confirmOrder() {
    // wx.navigateTo({
    //   url: '../confirmOrder/confirmOrder',
    // })
    // setTimeout((function callback() {
    //   this.asyncGetAndroidDishList()
    // }).bind(this), 3000);
    this.asyncGetAndroidDishList()
  },
  toOrder() {
    wx.navigateTo({
      url: '../Order/Order',
    })
  },
  // 事件处理函数
  bindViewTap() {
    wx.navigateTo({
      url: '../logs/logs',
    })
  },

  getMenuList() {
    var that = this

    wx.request({
      // 注意，如果小程序开启校验合法域名时必须使用https协议
      //在测试的情况下可以不开启域名校验
      url: 'http://localhost:8081/menu/list',
      data: {
        // 接口设置的固定参数值
      },
      // 请求的方法
      method: 'GET', // 或 ‘POST’
      // 设置请求头，不能设置 Referer
      header: {
        'content-type': 'application/json', // 默认值
        'token': wx.getStorageSync('TOKENINFO')
      },
      // 请求成功时的处理
      success: function (res) {
        // 一般在这一打印下看看是否拿到数据
        // console.log(res.data.data);
        let menuData = res.data.data
        console.log(menuData)

        that.setData({
          // 将res.data保存在listDate方便我们去循环遍历
          MenuList: menuData
          // 统计所有数据

        })
        // console.debug(allTableData)
        if (res.statusCode == 200) {
          var array = res.data
          that.setData({
            // 将res.data保存在listDate方便我们去循环遍历
            // listDate: res.data
            // 统计所有数据

          })
        }
      },
      // 请求失败时的一些处理
      fail: function () {
        wx.showToast({
          icon: "none",
          mask: true,
          title: "接口调用失败，请稍后再试。",
        });
      }
    })



  },

  getSaleNum() {
    var that = this

    wx.request({
      // 注意，如果小程序开启校验合法域名时必须使用https协议
      //在测试的情况下可以不开启域名校验
      url: 'http://localhost:8081/order/list',
      data: {
        // 接口设置的固定参数值
      },
      // 请求的方法
      method: 'GET', // 或 ‘POST’
      // 设置请求头，不能设置 Referer
      header: {
        'content-type': 'application/json', // 默认值
        'token': wx.getStorageSync('TOKENINFO')
      },
      // 请求成功时的处理
      success: function (res) {
        // 一般在这一打印下看看是否拿到数据
        // console.log(res.data.data);
        let DataLength = res.data.data.length
        console.log(DataLength)

        that.setData({
          // 将res.data保存在listDate方便我们去循环遍历
          TotalSaleNum: DataLength
          // 统计所有数据

        })
        // console.debug(allTableData)
        if (res.statusCode == 200) {
          var array = res.data
          that.setData({
            // 将res.data保存在listDate方便我们去循环遍历
            // listDate: res.data
            // 统计所有数据

          })
        }
      },
      // 请求失败时的一些处理
      fail: function () {
        wx.showToast({
          icon: "none",
          mask: true,
          title: "接口调用失败，请稍后再试。",
        });
      }
    })



  },

  sleep(numberMillis) {
    var now = new Date();
    var exitTime = now.getTime() + numberMillis;
    while (true) {
      now = new Date();
      if (now.getTime() > exitTime)
        console.log("sleep")
      return;
    }
  },

  onLoad() {

    this.toLoginOrRegister()
    this.getMenuList()
    this.getSaleNum()
    // this.getTopMonthSale()
    // @ts-ignore
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
      this.getUserProfile()
    }
  },

  onReady() {
    
    var that = this
    wx.request({
      // 注意，如果小程序开启校验合法域名时必须使用https协议
      //在测试的情况下可以不开启域名校验
      url: 'http://localhost:8081/getMonthTopSale',
      data: {
        // 接口设置的固定参数值
      },
      // 请求的方法
      method: 'GET', // 或 ‘POST’
      // 设置请求头，不能设置 Referer
      header: {
        'content-type': 'application/json', // 默认值
        'token': wx.getStorageSync('TOKENINFO')
      },
      // 请求成功时的处理
      success: function (res) {
        // 一般在这一打印下看看是否拿到数据
        console.log(res.data.data);
        let allTableData = res.data.data
        console.log(that.data.MenuList)
        let menuList = that.data.MenuList
        console.log(menuList)
        let totalPrice = 0
        for (var i = 0; i < allTableData.length; i++) {
          // allTableData[i].mId - 1 是指在菜单表的索引index
          let menuIndex = allTableData[i].mId - 1
          allTableData[i].mInfo = menuList[menuIndex]
          totalPrice += menuList[menuIndex].mPrice
        }
        console.log(allTableData)
        console.log(totalPrice)
        let userCName = wx.getStorageSync('USERNAME')
        // console.log(new Date().toJSON().substring(0, 10) + ' ' + new Date().toTimeString().substring(0,8));
        let nowTime = new Date().toJSON().substring(0, 10) + ' ' + new Date().toTimeString().substring(0, 8)
        console.log(nowTime)
        that.setData({
          // 将res.data保存在listDate方便我们去循环遍历
          TopMonthSaleList: allTableData,
          TotalPrice: totalPrice,
          UserCName: userCName,
          NowTime: nowTime
          // 统计所有数据

        })

        if (res.statusCode == 200) {
          var array = res.data
          that.setData({
            // 将res.data保存在listDate方便我们去循环遍历
            // listDate: res.data
            // 统计所有数据

          })
        }
      },
      // 请求失败时的一些处理
      fail: function () {
        wx.showToast({
          icon: "none",
          mask: true,
          title: "接口调用失败，请稍后再试。",
        });
      }
    })
    // var i = 0
    // setTimeout((function callback() {
    //   i += 1;
    //   console.log("执行次数" + i)
    //   that.asyncGetAndroidDishList()
    // }).bind(this), 3000);
    // console.log("已经执行w")
  },

  asyncGetAndroidDishList() {

    var num = 0;
    // while(true) {

    // }
    var timesRun = 0;
    if (this.data.flag == false) {
      let nowTime = new Date().toJSON().substring(0, 10) + ' ' + new Date().toTimeString().substring(0, 8)
      console.log("Hello World nowTime:" + nowTime);
      var that = this
      wx.request({
        // 注意，如果小程序开启校验合法域名时必须使用https协议
        //在测试的情况下可以不开启域名校验
        url: 'http://localhost:8081/Android/order/selectList',
        data: {
          // 接口设置的固定参数值
        },
        // 请求的方法
        method: 'GET', // 或 ‘POST’
        // 设置请求头，不能设置 Referer
        header: {
          'content-type': 'application/json', // 默认值
          'token': wx.getStorageSync('TOKENINFO')
        },
        // 请求成功时的处理
        success: function (res) {
          // 一般在这一打印下看看是否拿到数据
          console.log(res.data.data);
          let DishList = res.data.data
          if (DishList.length != 0 && that.data.flag == false) {
            // clearInterval(common_Interval);
            console.log("不为空");
            wx.navigateTo({
              url: '../confirmOrder/confirmOrder',
            })
            that.setData({
              flag: true
            })
          }
        },
        // 请求失败时的一些处理
        fail: function () {
          wx.showToast({
            icon: "none",
            mask: true,
            title: "接口调用失败，请稍后再试。",
          });
        }
      })

    }
    // var common_Interval = setInterval(() => {
      
    // }, 500);
    for (var i = 0; i < 3; i++) {

      
    }


  

},

  delay(milSec) {
  return new Promise(resolve => {
    setTimeout(resolve, milSec)
  })
},



  getPhoneNumber(e) {
  console.log(e.detail.code)
},
  getUserProfile() {
  // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认，开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
  wx.getUserProfile({
    desc: '展示用户信息', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
    success: (res) => {
      console.log(res.userInfo)
      this.setData({
        userInfo: res.userInfo,
        hasUserInfo: true
      })
    }
  })
},
  getUserInfo(e: any) {
  // 不推荐使用getUserInfo获取用户信息，预计自2021年4月13日起，getUserInfo将不再弹出弹窗，并直接返回匿名的用户个人信息
  console.log(e)
    this.setData({
    userInfo: e.detail.userInfo,
    hasUserInfo: true
  })
}
})
